package com.rt.easyjava.base.biz1.service.intf.base;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rt.easyjava.base.biz1.bean.TmptAuthDeptBiz;
import com.rt.easyjava.base.biz1.dto.TmptAuthDeptBizDto;
import com.rt.easyjava.common.base.Result;

import java.util.List;

/**
 *  服务类
 * @author wuxiaoyong
 * @since 2020-11-28
 */
public interface TmptAuthDeptService extends IService<TmptAuthDeptBiz> {

    // ======================================================================
    // ========== 以下使用的是 Mybatis-plus 实现 ==============================
    // ======================================================================
    Result<TmptAuthDeptBizDto> create(TmptAuthDeptBizDto dto);

    Result<TmptAuthDeptBizDto> update(TmptAuthDeptBizDto TmptAuthDeptBizDto, UpdateWrapper updateWrapper);

    Result<TmptAuthDeptBizDto> page(Page<TmptAuthDeptBiz> page, QueryWrapper<TmptAuthDeptBiz> queryWrapper);

    Result<TmptAuthDeptBizDto> selectBy(QueryWrapper<TmptAuthDeptBiz> queryWrapper);

    Result<TmptAuthDeptBizDto> selectById(Long id);


    TmptAuthDeptBiz selectByKey(String columnName, String key);

    List<TmptAuthDeptBiz> selectListByKey(String columnName, String key);

    Result<TmptAuthDeptBizDto> selectDtoListByKey(String columnName, String key);



    // ======================================================================
    // ========== 以下使用的是自定义的 mapper.xml 实现 =========================
    // ======================================================================
    Result<TmptAuthDeptBizDto> myPage(Page<TmptAuthDeptBiz> page, QueryWrapper<TmptAuthDeptBiz> queryWrapper, boolean hasFooter);
    Result<TmptAuthDeptBizDto> myPage(Page<TmptAuthDeptBiz> page, QueryWrapper<TmptAuthDeptBiz> queryWrapper);

    Result<TmptAuthDeptBizDto> mySelectBy(QueryWrapper<TmptAuthDeptBiz> queryWrapper);

    Result<TmptAuthDeptBizDto> mySelectById(long id);

}
